package inutan.game.prop;

import inutan.common.context.FlowContext;
import inutan.game.business.GameFlowContext;
import inutan.game.entity.prop.BaseItemInfo;

import java.util.List;

public interface OperatePropInterface {

    /**
     * 道具拉取
     * @param context
     * @return
     */
    public List<BaseItemInfo> props(GameFlowContext context);

    /**
     * 消耗道具
     * @param context
     * @param item
     */
    public void useProp(GameFlowContext context, List<BaseItemInfo> item);

    /**
     * 获取道具
     * @param context
     * @param item
     * @return 真实获得得道具，如果唯一道具 重复获取，一般策划需求转换其它道具
     */
    public List<BaseItemInfo> addProp(GameFlowContext context, List<BaseItemInfo> item);

    /**
     * 校验道具是否足够
     * @param context
     * @param itemInfo
     * @return
     */
    public boolean checkItemNum(GameFlowContext context, List<BaseItemInfo> itemInfo);

}
